package com.one.mycommons.properties;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import org.apache.log4j.Logger;

public class ProperReader {
	
	private static Logger log = Logger.getLogger(ProperReader.class);
	
	//volatile : 是被设计用来修饰被不同线程访问和修改的变量。: 即：优化器在用到这个变量时必须每次都小心地重新读取这个变量的值，而不是使用保存在寄存器里的备份。
//	private volatile static ConfigPropertyReader configLoder;
	
	private static Properties props = new Properties();

	/**
	 * 读取文Property中的属性值
	 * 
	 * @param key
	 * @return
	 */

	/**
	 * <一句话功能简述> 读取 Property文件
	 * <功能详细描述>
	 * @param properFilePath
	 * @return
	 * @see [类、类#方法、类#成员]
	 */
	public static Properties readProperties(String properFilePath) {
		if (null == props) {
			props = new Properties();
		}
		try {
			InputStream is;
			is = new BufferedInputStream(new FileInputStream(new File(properFilePath)));
			props.load(is);
		} catch (FileNotFoundException e) {
			log.error(e.getStackTrace());
		} catch (IOException e) {
			log.error(e.getStackTrace());
		}
		return props;
	}
	
	/**
	 * <一句话功能简述> 获得熟悉值
	 * <功能详细描述>
	 * @param key key值
	 * @return
	 * @see [类、类#方法、类#成员]
	 */
	public static String getKeyValue(String key) {   
	    return props.getProperty(key);   
	} 

}
